package com.yami.shop.bean.model;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 订单支付记录
 * @author Citrus
 * @date 2022-05-18 17:03:18
 */
@Data
@TableName("tz_pay_info")
@Schema(description ="订单支付记录")
public class PayInfo implements Serializable{

    @Schema(description = "支付单号")
    private String payNo;

    @Schema(description = "外部订单流水号")
    private String bizPayNo;

    /**
      * 第三方系统的订单号
      * (paypal支付有个回调时间，在回调之前，目前还没有看到可以用本地系统交易单号来查询交易单，
      * 只有通过记录第三方系统的订单号，来查询第三方系统的订单
      * )
     */
    @Schema(description = "第三方系统的订单号(paypal)")
    private String bizOrderNo;

    @Schema(description = "用户id")
    private String userId;

    @Schema(description = "本次支付关联的多个订单号")
    private String orderNumbers;

    @Schema(description = "支付入口 0订单 1充值 2会员")
    private Integer payEntry;

    @Schema(description = "支付方式 1:微信小程序支付 2:支付宝 3微信扫码支付 4 微信h5支付 5微信公众号支付 6支付宝H5支付 7支付宝APP支付 8微信APP支付 9余额支付 10全球PayPal支付 11新生支付支付宝H5支付 12新生支付云闪付H5支付 13新生支付支付宝生活号支付 14新生支付微信公众号支付 15新生支付快捷支付下单")
    private Integer payType;

    @Schema(description = "支付状态")
    private Integer payStatus;

    @Schema(description = "支付积分")
    private Long payScore;

    @Schema(description = "支付金额")
    private Double payAmount;

    @Schema(description = "创建时间")
    private Date createTime;

    @Schema(description = "版本号")
    private Integer version;

    @Schema(description = "回调内容")
    private String callbackContent;

    @Schema(description = "回调时间")
    private Date callbackTime;

    @Schema(description = "绑卡协议号")
    private String bindCardAgrNo;

    @Schema(description = "支付银行卡后四位")
    private String shortCardNo;

    @Schema(description = "交易手续费")
    private Double feeAmount;

    @Schema(description = "分账订单明细")
    private String divideAcctDtl;

    @Schema(description = "分账主订单Id")
    private String divideId;

    @Schema(description = "分账订单状态")
    private String divideStatus;


}
